package org.jsola.hr.service;

import org.jsola.hr.dto.EmpTagDTO;
import org.jsola.hr.vo.EmpTagVO;
import org.jsola.user.core.TokenUser;

import java.util.List;

public interface IEmpTagService {
    /**
     * 根据用工单位id查询员工标签
     *
     * @param companyId 用工单位id
     * @param tokenUser 当前用户
     * @return 员工标签
     */
    List<EmpTagVO> listByCompanyId(String companyId, TokenUser tokenUser);

    /**
     * 查询公司下是否存在标签，不存在则创建
     *
     * @param companyId 用工单位id
     * @param tag       标签
     * @param tokenUser 当前用户
     */
    void saveTagByCompanyId(String companyId, String tag, TokenUser tokenUser);

    /**
     * 根据siteId查询员工标签
     *
     * @param tokenUser 当前用户
     * @return 员工标签
     */
    List<EmpTagVO> listBySiteId(TokenUser tokenUser);


    /**
     * 新增员工标签
     *
     * @param empTagDTO 新增员工标签DTO
     * @param tokenUser 当前用户
     * @return 员工标签
     */
    EmpTagVO save(EmpTagDTO empTagDTO, TokenUser tokenUser);

    /**
     * 批量删除员工标签
     *
     * @param tokenUser 当前用户
     * @param empTagDTO 员工标签对象
     * @return 删除数量
     */
    int delete(TokenUser tokenUser, EmpTagDTO empTagDTO);
}
